#include "zoomventana.h"

ZoomVentana::ZoomVentana(const QSize& size, QWidget *parent)
    : QDialog(parent)
{
	ui.setupUi(this);
	wOrig = size.width();
	hOrig = size.height();
	restaurar();
}

ZoomVentana::~ZoomVentana()
{

}

void ZoomVentana::parametros(int& w, int& h, bool& bi){
	if(!enPixeles){
		unidades(0);
	}
	w = qRound(ui.w->value());
	h = qRound(ui.h->value());
	bi = ui.bi->isChecked();
}

void ZoomVentana::restaurar(){
	unidades(0);
	ui.w->setValue(wOrig);
	ui.h->setValue(hOrig);
}

void ZoomVentana::spinPixel(QDoubleSpinBox& spin){
	spin.setDecimals(0);
	spin.setSuffix("px");
	spin.setMinimum(1);
	spin.setSingleStep(1);
}

void ZoomVentana::spinPorcentaje(QDoubleSpinBox& spin){
	spin.setDecimals(2);
	spin.setSuffix("%");
	spin.setMinimum(0.001);
	spin.setSingleStep(0.25);
}

void ZoomVentana::unidades(int indice){
	if(indice == 0){
		cout << "pixeles" << endl;
		ui.w->setValue(qRound(ui.w->value() * wOrig));
		ui.h->setValue(qRound(ui.h->value() * hOrig));
		spinPixel(*(ui.w));
		spinPixel(*(ui.h));
		enPixeles = true;


	}else{
		cout << "porcentaje" << endl;



		spinPorcentaje(*(ui.w));
		spinPorcentaje(*(ui.h));

		ui.w->setValue(ui.w->value() / double(wOrig));
		ui.h->setValue(ui.h->value() / double(hOrig));

		enPixeles = false;


	}
}
